package com.neusoft.demo12;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class JdbcDemo {
    private Connection conn;
    /**
     * 连接数据库
     * @param
     */
    public Connection getConnection() throws ClassNotFoundException, SQLException {
        //1. 加载驱动程序
        // 注意：8.0以上的版本使用 com.mysql.cj.jdbc.Driver
        Class.forName("com.mysql.jdbc.Driver");
        //2. 获取数据库的连接
        conn = DriverManager
                .getConnection("jdbc:mysql://localhost:3306/mysq_dbtest","root","123456");
        return conn;
    }

    /**
     * 查询
     * @param
     */
    public ResultSet query(String sql) throws SQLException {
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery(sql);
        return rs;
    }


    /**
     * DML(Insert  Update  Delete)
     * @param args
     */
    public int dml(String sql) throws SQLException {
        Statement stmt = conn.createStatement();
        int isRight = stmt.executeUpdate(sql);
        return isRight;
    }

    /**
     * 关闭资源
     * @param args
     */


    public static void main(String[] args) {

        try {
            //1. 加载驱动程序
            // 注意：8.0以上的版本使用 com.mysql.cj.jdbc.Driver
            Class.forName("com.mysql.jdbc.Driver");
            //2. 获取数据库的连接
            Connection conn = DriverManager
                    .getConnection("jdbc:mysql://localhost:3306/mysq_dbtest","root","123456");
            //3. 通过调用Connection接口中的方法来获取到Statement对象，主要用于执行静态的SQL语句
            Statement stmt = conn.createStatement();
            //4. 调用Statement接口中提供的方法来添加/修改/删除/查询
            //ResultSet	executeQuery(String sql) 主要用于查询并将结果保存到ResultSet结果集中
            //int	executeUpdate(String sql) 用于执行Insert Update Delete操作  成功返回行数，失败返回0
            // 向Student表中添加一条数据
            int isRight = stmt.
                    executeUpdate("delete from student where sno=6");
            if(isRight == 1){
                System.out.println("insert success......");
            }else {
                System.out.println("insert error......");
            }
//            ResultSet rs = stmt.executeQuery("select * from student");
//            //遍历结果集
//            while(rs.next()) {
//                //获取当前行的第一列的值
//                int sno = rs.getInt("sno");
//                //获取当前行的第二列的值
//                String name = rs.getString("sname");
//                //获取当前行的第三列的值
//                int age = rs.getInt("age");
//                //输出结果
//                System.out.println(sno+" "+name+" "+age);
//            }
            //释放资源
            //rs.close();
            stmt.close();
            conn.close();

        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}
